import pylab as pl
import scipy as sp

from data.Data import *
from KGA.Chromosome import *
from initialization.Start import *
import utility.utility as UTL
import utility.graph as GR

D = 2
K = 2

a = Data(D)
a[0] = 0.666
a[1] = 0.333

b = Data(D)
b[0] = -1.2
b[1] = -2.9

C = Chromosome(D, K)
C.setCentroid(0, a)
C.setCentroid(1, b)

'''
a.printData()
b.printData()

print C.getCentroid(0)
print C.getCentroid(1)

C.myPrint()
'''

### richiesta dati iniziale e scansione del file
TEST = Start()

X = TEST.get_scanFile()

### DEBUG: ----------------------------------------------
print "Numero di pattern: ", TEST.nPattern
print "Numero di dimensioni:",TEST.nDim


### DEBUG: stampa il primo dato della prima colonna :)
### X e' una lista di oggetti (tipo Data)
print X[0][0]
X[0].printDataCl()

### calcola la metrica eulidea N dimensionale esempio su a e b

print "norma di a e b ", UTL.normaN(D,a,b)

### viasualizzare i punti acquisiti
pl.figure(num=None, figsize=(12, 8), dpi=80, facecolor='g', edgecolor='y')

GR.initGraph(pl,X,TEST.nPattern)

### altrimenti si chiude il grafico
	
# pl.show()

### ------------------------------------------------------

a1 = sp.array([1,2,3])
a2 = sp.array([1,3,4])

print sum(pow(a1[:sp.newaxis] - a2[sp.newaxis:],2))
